package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

import javax.validation.constraints.Min;

/**
 * 内部转账记录对象 iae_internal_transfer
 * 
 * @author ruoyi
 * @date 2025-02-27
 */
public class IaeInternalTransfer extends BaseEntity
{
    private static final long serialVersionUID = 1L;


    /** 编码 */
    @Excel(name = "编码")
    private Long id;

    @Excel(name = "时间", dateFormat = "yyyy-MM-dd HH:mm:ss")

    private Date createTime;

    @Override
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /** 再要 */
    @Excel(name = "再要")
    private String insideAbstract;

    /** 转出账户id */
    @Excel(name = "转出账户")
    private Long accountOut;

    /** 转出金额 */
    @Excel(name = "转账金额")
    @Min(value = 0, message = "转账金额必须大于 0")
    private BigDecimal accountLimit;

    /** 转入账户id */
    @Excel(name = "转入账户")
    private Long accountJoin;

    /** 转入金额 */

    private double dailyTransferAmount; // 当日累计转账金额




    public void setDailyTransferAmount(double dailyTransferAmount) {
        this.dailyTransferAmount = dailyTransferAmount;
    }

    /** 制单人 */
    @Excel(name = "制单人")
    private Long userId;



    /** 凭证id */
    @Excel(name = "凭证id")
    private Long voucherDetailsId;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public void setInsideAbstract(String insideAbstract)
    {
        this.insideAbstract = insideAbstract;
    }

    public String getInsideAbstract() 
    {
        return insideAbstract;
    }
    public void setAccountOut(Long accountOut) 
    {
        this.accountOut = accountOut;
    }

    public Long getAccountOut() 
    {
        return accountOut;
    }

    public void setAccountJoin(Long accountJoin) 
    {
        this.accountJoin = accountJoin;
    }

    public Long getAccountJoin()
    {
        return accountJoin;
    }
    public void setAccountLimit(BigDecimal accountLimit)
    {

        this.accountLimit = accountLimit;
    }


    public BigDecimal getAccountLimit()
    {
        return accountLimit;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public double getDailyTransferAmount() {
        return dailyTransferAmount;
    }

    public void setVoucherDetailsId(Long voucherDetailsId)
    {
        this.voucherDetailsId = voucherDetailsId;
    }

    public Long getVoucherDetailsId()
    {
        return voucherDetailsId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("createTime", getCreateTime())
            .append("insideAbstract", getInsideAbstract())
            .append("accountOut", getAccountOut())
            .append("accountJoin", getAccountJoin())
            .append("accountLimit", getAccountLimit())
            .append("remark", getRemark())
            .append("userId", getUserId())
            .append("dailyTransferAmount", getDailyTransferAmount())
            .append("voucherDetailsId", getVoucherDetailsId())
            .toString();
    }
}
